An American teacher told his students that one must always say merry Christmas and not happy Christmas. Is this correct?
According to the Corpus of Contemporary American English, in American English merry Christmas is preferred to happy Christmas at a rate of 33 to 1, meaning that the phrase happy Christmas is not normally a part of American English. There is nothing grammatically wrong with it, but happy Christmas is unusual in American English.
On the other side of the Atlantic, according to the British National Corpus, the British say happy Christmas more often at a rate of 1.2 to 1. So both are used almost equally in British English.
There is a caution that should be given. Many people capitalise merry and happy before the word Christmas. Proper nouns such as Christmas should always be capitalised. The words merry and happy should be capitalised if they are at the beginning of a sentence. Also they may be capitalised in titles, poems and sentence fragments if it appears helpful. However if they fall in the middle of a sentence, they should not be capitalised.
In most uses, these two words could be substituted for each other, but not all. A party might be cheerful and lively, but a socially awkward person might feel very uncomfortable. A couple quietly holding hands while watching a movie, might be feeling pleasure, but are not lively.
Especially among conservative British English speakers the word merry suggests noisy, disorderly, or even drunken behaviour. While happy means a deeper, more loving enjoyment. Is this difference relevant?
In 1647 the Puritan government of England made Christmas against the law. People had used Christmas as an excuse for drinking a lot of alcohol, promiscuity, wild parties, gambling and other disorderly behaviour. Also there is no Biblical justification for the holiday; it is just a pagan festival with the name changed. The 25th of December is not the birthday of Jesus. So the Puritans held a day of fasting and atonement* on the 25th of December.
In England some people might object to a merry Christmas, but would be willing to have a happy Christmas. Both a happy and a merry Christmas are grammatically correct English.
I wish all my readers a happy 25th of December, including both the partying pagans and the sober Puritans.