A great way to help him gain the confidence he needs to fly, is recall training. You have to teach him that he can do it (as he seems to have never properly mastered that skill) and make the process as rewarding as possible.
You can try starting with something he's comfortable with, like stepping up on your hand in order to get a treat, then you move your hand back a little so he has to hop on to it and so on... he will eventually have to fly if he wants the treats.
If that doesn't work, you could target train him if he isn't already trained, then place two stands one next to the other and target him from one stand to another. Once he's good at that, just fo the same thing while moving them further and further apart until he's flying.