Both of the sentences are correct. There is almost no difference between “at Christmas” and “on Christmas”, except that “on Christmas” indicates on the exact day of Christmas, while “at Christmas” could sometimes mean “at Christmas time”, as in during the Christmas season.
However, most of the time they mean the same thing.