Is "non-vegetarian" a correct word?
If you are speaking to English speakers from India, these will be perfectly normal and familiar words. In other English-speaking cultures, people probably aren't as familiar with the word, but I doubt they would have much trouble understanding what it means. So I would say it is okay to go ahead and use the word in any context.
In India, a larger portion of the population (maybe even a majority?) is vegetarian, so vegetarian food is kind of the default choice, and non-vegetarian is more of an exception. Whereas in other regions, the vast majority of people eat meat, and vegetarians are the exception, so no word quite like "non-vegetarian" has been invented. ("Carnivore" and "meat-eater" are ok substitutes for the noun, but for the adjective I think you'd need to use a phrase like "meat-containing" or just reword it.) If you're interested in a linguist's brief musings on this topic, you can read this blog post on Language Log.
Also, regarding "not legal English words (i.e aren't in the dictionary)": dictionaries describe how the language is used, not prescribe how it should be used. New words get added to dictionaries all the time, and old words get marked as "archaic." For example, "spam" wasn't added to the Oxford English Dictionary until 2009, but that wouldn't have meant it was invalid to use the word in 2002.
Affixes (prefixes, suffixes, and the like) can be characterized by what linguists call “productivity”. A productive affix is one that can freely be applied to most any word of the class it applies to. For example the prefix pro- can be added to most any noun, common or proper: pro-choice, pro-Clinton, even whole noun phrases, as in pro-meat-eating. On the other hand, a suffix like -ment is substantially less productive, and can only be applied to the set verbs it is already established as affixing to, and can’t be applied to any old verb, such as *createment or *destroyment
The prefix non- is a very productive prefix. It can be applied to most any adjective, even if the combined form is not listed in a dictionary. The meaning of any such word is plain: not the meaning of the base adjective.
In a mostly or frequently vegetarian context, such as in a magazine about vegetarianism, or, say, in India, the word non-vegetarian is perfectly understandable and therefore grammatical. The abbreviated form non-veg is not a “standard” abbreviated form and therefore would have to be considered pretty informal.
There are 15 incidences of non-vegetarian and 8 of nonvegetarian in the Corpus of Contemporary American English
Note: an asterisk (*) appearing before a word means “not grammatical”.
Personally I have trouble with the concept of a "legal" word. Remember: the dictionary has finite space in it and can only fit in words that A) were known at the time it was printed, and B) were deemed important enough to include, and C) were not deemed too inappropriate for the audience of the dictionary.
That being said, I can imagine several definitions for "non-vegetarian", depending on the context, but it seems pretty clear what this word means.
Consider that in many ways it's perfectly legitimate to create "new" words by adding prefixes and suffixes to existing words. The context should make it clear what you are saying. If the speaker and listener agree on the meaning then it is a perfectly cromulent word.
There is no such thing as "the dictionary."
English dictionaries are almost all constructed descriptively, not normatively, in that they aim to encode language as used, rather than prescribe how language ought to be used. (If a dictionary does that well, its pronouncements may acquire normative status.) The mere fact that an "English word" isn't in a given (or any) dictionary doesn't mean that it isn't a word. It might well be that the lexicographers have yet to catch up with the usage that they describe.
That doesn't mean that one can say whatever one likes and defend oneself by claiming that lexicography is slow. But, in any field subject to fairly quick change, it is not rare for the needs of speakers to get out front of the work of the lexicographer. It seems to me that with vegetarian diets becoming more common in many English speaking parts of the world, the vocabulary here is likely in flux. For a clearer case, consider how foolish it would have been in 1999 to insist that 'blog' wasn't really a word on the grounds that it did not appear in the OED.