Hi Mark,
I understand your query - if an occasion has passed we would usually say “I hope you had a nice Christmas/birthday!” although someone might say “Merry Christmas” too late if they were celebrating after that date or just being cheeky.
Person 2 is grammatically correct, to make it more idiomatic you could say “but Christmas was last Tuesday! It’s s bit late to wish me a Merry Christmas.” Hope it helps!
Take care,
Triss