I don't think you can, or should, 'cancel' Christmas Day. That wouldn't be fair in your other child. You probably do need to look at how you structure the day more though and adjust it accordingly.
He spent the first few hours of the day asking if he could open his presents
Let him open his gifts when he crosses, even if it's 'too early' and he's having to do it alone.
the next few hours complaining that the presents weren’t right (he chose what we bought but has such particular requirements for Everything, it’s impossible to get right),
Reduced what he gets in Christmas Day. Instead take him out and to choose the exact gifts, either before or after, with a strict budget and expectations set beforehand.
then he ate and played games - all was good for a few hours,
All good :) Take this time to relax yourself, take the pressure off yourself and relax your own expectations of or what you think a 'perfect' day is.
then he ended the day with an almighty meltdown because he was overstimulated as we were out of routine, we were eating different food etc. etc.
Let him eat whatever he normally has.
Everyone else can eat the Christmas meal, but he can then have his own preferences.
Eat meals at the same 'normal' times, keep to meal times, getting out of the house (if he is used to that), same bedtime, etc.