No - not your fault. Your MIL is not being nice - AT ALL. And she is wrong too, to boot! You need to stop telling you MIL anything about your child and when she asks why, explain that you don't like being treated the way she is treating you. But I'm sure that's another thread...
Ask your doctor for a referral to an OT who deals with feeding issues. Have her evaluate him to see if there are sensory issues. She can help with that so that he can get used to food without gagging and vomiting.
This is actually really important, Mom. I have a friend whose 19 year old son started out like this and only wanted milk. He fought eating for a very long time, and ended up having a TERRIBLY limited diet. Bread, milk, juice, candy, french fries, select fruits, yogurt, pancakes, soft drinks, and not much else. NO veggies. NO meat. Not even pizza or spagetti. The list above is pretty much it.
He is huge now and has pre-diabetes. She has to give him citracal in his juice and amino acids in his yogurt so he can get what he needs. If she had taken him to an OT when he was little and showing oral defensiveness about food early on, things would have turned out far differently for this child.
I hope you will get some help for your son soon. An evaluation is NOT hard. They may say to give him more time, and that's okay. But don't let it go. You have to advocate for your baby, and you don't have to take rude comments from your mother-in-law while you do that.
Good luck!
Dawn