I always find it easier to get my horse into a canter on the trail vs the arena. I think it's partly becasue the horse has a sense of purpost to it. He is actually going somewhere, and when that somewhere is in the direction of home, well, there's real purpose to that. Or, if another horse is cantering behind or in front of him, then that too has purpose and make s the horse WANT to canter.
Do you have a specific cue you use for canter or do you just keep asking your horse to speed up in the trot until he breaks into a canter on his own? Some horses would prefer to keep going at a fast trot forever rather than cantering so I find it helps to have a specific cue to say 'canter please' instead of 'go faster'. The cue I use is to slide my outside leg back and keep my inside leg at the girth and tilt the horses head in slightly then squeeze with both legs. To teach this get your horse going at a nice balanced trot, sit deep and use your cues to ask for a canter(a kiss or cluck or something usually helps), if the horse just starts trotting faster bring him back to a balanced trot and try again. As soon as you get a canter release all pressure. You may only get 1 or 2 strides at first and that's ok. Just keep practicing. Never let him just run into it always make him to pick it up when you ask.