"Raj is eating a vegetable."
Translation:राज सब्ज़ी खा रहा है।
ज़ (za) is not a sound that is native to Hindi and is only present in loanwords from Persian, Arabic and European languages. So a lot of speakers will pronounce it as ज (ja) instead. You will also see this in writing where the dot in ज़ is often dropped.
The tendency to use the original 'z' pronunciation in words with ज़ is correlated more with exposure to Urdu/English than with region. In your mother in law's case, it may also have something to do with her exposure to Marathi (the official language of Mumbai). Marathi uses the 'z' sound much more than Hindi but because it uses the same letter ज for both the 'j' and 'z' sounds, it has its own complex rules for when to use which.
Note: This effect is more pronounced with other non-native letters क़ (qa), ख़ (k͟ha) and ग़ (ġa) which most native Hindi speakers pronounce as क, ख and ग respectively. The letter फ़ (fa) is also foreign but it has been integrated better into Hindi so much so that some native speakers even substitute it for फ (pha) in words like फल (fruit). The letters ड़ and ढ़ also have the dot in them but they are native to Hindi.
It can mean both but in most contexts would be understood as the second meaning.
In fact, sabzi can also refer to a dish comprising of vegetables. For example, 'aloo matar ki sabzi' is a dish comprising of potatoes and peas. So, in a restaurant context, if you ask for 'roti aur ek sabzi' you are asking for a serving of a single dish along with roti. (Though it would be funny if the waiter just gave you an uncooked whole potato with your roti).