彼女は食【しょく】が細い【ほそい】。
She eats very little.
Does 細い have that meaning in that context?
If you search in the dictionary for a meaning of 細い that fits, you probably will not find any. 食が細い is an expression. And if you search for it in a dictionary like jisho as a whole, you will get the definition :
eating only a little; having a small appetite
As a side note, 細い{こまい}, can mean stingy, so it might be funny to imagine someone being stingy with their food.
But your interpretation was the correct one.
I don't know the etymology of 食{しょく}が細{ほそ}い. But it sounds that the path to convey food to the stomach is narrow (細{ほそ}い) and the capacity of the stomach is small, so he/she eats a little and/or feels full soon, and as a matter of course he/she has a small appetite.
As for the antonym, you don't say 食{しょく}が太{ふと}い, but say like:
- 彼{かれ}は大{おお}食{ぐ}いだ。
- 彼{かれ}は大{おお}食{ぐ}らいだ。
- 彼{かれ}は大{たい}食{しょく}漢{かん}だ。