You can simply go in the submodule, do a git fetch, and checkout the HEAD you need.
cd mysubmodule
git fetch
git checkout origin/abranch
Then you go back to the parent repo, add and commit that new submodule SHA1 entry.
Note that you also can convert a submodule in order to follow the latest commits of a branch.
In that case, a simple:
git submodule update --remote
would be enough.