If you haven't committed, you should just be able to git stash again, possibly with a git reset HEAD first.
Also, git stash apply doesn't delete the stash like git stash pop does. So if you have committed, you could git reset --hard [last_good_commit] (if you haven't pushed) or git revert [last_good_commit] (if you have pushed) and just apply the stash again once you're on the right branch.
Note: Running git reset --hard will delete any uncommitted code.