Great posts already here.

Just kind of start over with training come. A few things to remember....Never call her to punish her. If you do this, it'll kill your recall because she'll associate coming to you when called with the punishment, now what your actually punishing her for. Second, don't over use the commands. Commands should be said once, twice if necessary. If you are in a situation that you know she isn't going to listen, then don't give her the command. You want to set her up for sucess, not failure. Finally, it may help if you have a special treat only for coming. Just pick one of her favorite treats and the only time she gets it is when she comes when she's called.

I also want to mention that no dog can ever be totally reliable off leash. There are some breeds (typically terriers and sighthounds) that can never be trusted offleash, or at least shouldn't ever be trusted off leash. Keep in mind what your breed was created to do. Terriers were bred to work independantly from humans to get those rodents. They needed to have determination and stamina to do this and they needed to be independant. Don't take it personally if your dog doesn't become "pefect". Just love her for what she is and always remember to do what you need to do to keep her safe....And this includes not allowing her to be offleash in an area where she can get hurt no matter how good her recall may be.