Timmy is now throwing up like a baby randomly.

he is spitting up like a baby actually, ive seen it 3 times in the last 3 days. Once, just after chewing a toy..which was food, and i assumed that he got choked. Then in the car a tiny bit of white, which i assumed was car sickness (which he has never had so far), then today it was out of nowhere. he was layin down and just got up and spit up. theres no hurling/hacking of any kind that i can tell when he spits up(very little, not like when he throws up from eating). I really dont know if this is another symptom/clue to what his problem can be or what...
i feel like he really needs to get on a food that fixes these problems, if there is one..but i feel like im changin his food too much. The internet said grains and by products and what not can cause too much gas in dogs..which are both in his food, so i may try to get something that doesnt have that. Anyone feed science diet or a holistic food or something i can buy at Petsmart that they think will work for this??
Such as Royal Canin for mini yorkshire 28?? i just became aware of this on the petsmart webpage...i dont see grains or by products in ingredient list....anyone know about this food??