Why you're dog doesn't come when called...
First of all, if you don't regularly spend some time with your dog off-leash - in open or populated areas.....well, that's why. Its just that simple, if you don't ever expose your pet to instances where they are not tethered and give them expectations in those settings....then they will not have the outline of behavior required to succeed.
So, how do you start? I see a lot of owners who have some level of confidence when tethered but have zero confidence when the leash is removed. If you weren't able to get this work in when the dog was a puppy (its much easier then) it can be a scary proposition, to just let the leash go....
So, start with dropping it from time to time. When you are on a walk, or in Petco walking around.....find time to casually drop your lead and stand on the end. Alert him he is off leash, that you aren't holding it. See what he does.....if he doesn't try to run - congratulate him and pick up and continue. If he does try to run, let the stepped-on lead catch him, comfort him to you.....and now you know. But so does he.
This helps to build expectations. Scenarios like this can be mimicked with longer lines on regular walks. Stimulate his sense of awareness - that he is not tethered....while you still have the control to keep him safe. Don't wait and hope for the correct scene. This way he works in real life and you can build the expectations of behavior when the tether is dropped.
You see, most dogs see the opportunity to be untethered....just that.....an opportunity. And they take opportunities that result in running full speed, jumping, and freedom. Get in open spaces and help create a language you both can work within, and instead of fearing off leash work....you can control it and he will begin to look at you as his avenue to that. His window......to that running, jumping, and freedom.