If she is fine off leash but not on leash, then she is probably picking up on your insecurity and nervousness about her meeting a new dog (because you probably subconsciously worry when a new dog comes close) and then she feels as if she has to protect you and you transfer that nervousness to her. Dogs, like horses, are very perceptive. You probably hold the leash a little tighter assuming she is going to go crazy and then she does just that.
We adopted a pitbull who was very nervous around people. The key was for us not to be nervous that she would bite and we acted as if she was the sweetest dog and when people would come over we would tell them to just ignore her. She figured out that we were not nervous or scared and now she is completely fine.