Every horse, like people, favors one lead over the other. Is he properly collecting himself? Have you tried doing straight line work, changing leads in the center? Does he pick up the correct lead while on a longe line? Generally, the fault is with the rider – either the horse doesn’t quite understand, the balance is wrong, or some other factor (and some horses, like one of mine, are just brats about it). Try riding while someone else longes him, and also try riding without reins or irons. This will help you feel better what he is doing, and which foot is about to hit the ground (there is some complicated way to do feel this, which I cannot manage), as that is when you should ask for the gait or lead change. Will he canter from a walk or halt, or do you always trot him into it? Does he automatically land on the correct lead after a fence when he will be changing direction? These are all questions to ask yourself (and getting someone to video you could be a great help), not questions to which I want answers. It is very difficult to find the answer, when none of us have seen the horse. There is a lot of good advice here, but you will have to use a trial and error method to find the one method that works for you and your horse. If he does it correctly on the longe (consistently), I would assume he is familiar with the word “canter” – perhaps you could start telling him “canter left” or “canter right” – once he learns what you mean him to do, it might be easier to get him to do it under saddle. I got my horse to understand short sentences, and the things he likes to do, he does perfectly. If he doesn’t want to, he makes that very clear with a lot of head tossing and looking for something scary so he can misbehave. Part of it could also be that there is so much more space now – your last place sounds as if you were riding in a stall or something.
It is never the horse's fault