I had the same problem with my dog for a little while. She also was fine right away, but I didn't socialize her enough right away. When I took her to an obedience class, they told me that she was acting that way because she felt it was her job to handle the situation and protect her owner. Here is what I did.

They told me that it was all in how I handled the situation on how she would react. By being worried or expecting something every time you see another dog, the dog can sense that and feels they need to take control. So, when you see another dog. Act casually, and don't tighten the leash (atleast to the point where they feel the pull. If you feel it is best to keep the dog closer, then do so without them noticing if possible.)

This can be really hard to do though, especially if the other dog is agressive too. So, what I eventually practiced was having the dog sit randomly when I was on a walk, regardless of whether or not there was a dog there. It helps to have treats with too. And when a dog comes up, stop, and ask them to sit. I made both my dogs sit as the dog passed by.

If the dog isn't used to sitting or walking nicely, start training by making them aware of what you are doing on walks, not only of what they are doing. The first step is to stop randomly on walks, and make them loosen the leash to come back to you (say their name or "come" if they know it) and be sure to praise them a lot when they do well. Once they are used to this, work in a sit with it. (To teach a sit, put a treat in your hand and with your hand, put it over there head and move towards their tail to lure them into it. Once they do it, treat them immediately and praise.) Once you've got the sit down, all you need is practice.

Some dogs may catch on right a way, and others take a while. It is definately reversible though.
Hope this helps!!


Another Quick tip: I know some places (like PetsMart) offer Puppy Play Groups if you want to socialize her more.