My son is 12yo is skinny and has always had a small appetite. He is short for his age (9th pct), will he ever hit a growth spurt?

Need to see him. This is a big "it depends". Truthfully nutrition will only affect height greatly and negatively if you are severely malnourished. If you're 5'2", and dad's 5'7", he's going to be short. A better predictor is his secondary sexual characteristics, like body hair, testicular growth, and muscle mass. If those are immature, he may hit a growth spurt later, and have a bit more time to catch up.
Yes, BUT... This is likely normal for him and its not uncommon for kids to have a wide range of starting growth spurt. Many 12 year old boys are deep into puberty, some not started yet and that range is all normal. However, more info is needed and this needs to be discussed with his doctor. What does his growth chart look like, what stage of puberty is he in, what are other family members growth like, etc.
Eventually. Growth patterns & the timing of puberty are influenced by genetics and nutrition. Short parents will likely have short kids. Some kids enter growth phases later than others, and a checkup & examination of a childs growth chart should give some guidance. A hand/wrist xray can be examined for bone maturity &separate the geneticaly short from late bloomers or those needing testing for other problems.