In a large saucepan, combine asparagus, chopped onion, and 1/2 cup chicken broth. Cover, and bring to a boil over high heat. Reduce heat, and simmer uncovered until asparagus is tender, about 12 minutes. Pull out the asparagus tips, and set aside. Process the rest of the mixture in a blender to puree the vegetables. Set aside.
In the same saucepan, melt the butter over medium-low heat. Stir in the flour, salt, and pepper. Cook, stirring constantly for 2 minutes. Whisk in the remaining chicken broth, and increase the heat to medium. Cook, stirring constantly until the mixture boils. Stir in the asparagus puree and the milk.
Put the sour cream in a small bowl, and stir in a ladleful of the hot soup. Add the sour cream mixture and the lemon juice to the soup. Add the asparagus tips back into the soup. Stir while heating the soup to serving temperature, but don't allow it to boil. Serve immediately.