Almost any good software consulting company could do this. I would however advice you that this would be something with a low value or expensive or both.
Most of recommendations you could receive are already available in the books or on Internet. Granted you could not just get your code reviewed online (yet) but a code review has a very limited value unless you have a team which is able to understand it.
Formalised specifications are great - but unless a customer is ready this could not be done - an good outside team would spend significant time educating people about what they want and how to express it and a bad team will just fail.
A roadmap is great if you will have the people who created it working with you until the end of the project, constantly re-iterating and updating it. If they don't a roadmap is a piece of paper you could discard immediately after completion.
In my opinion a project which is well underway and is in a bad shape is very difficult (or impossible) to save. It is even more difficult for a group of outsiders to do that. It's almost impossible for the group of outsiders to come onboard for a short period of time, make things right and disappear.
From my experience if a project is failing you need to find the internal resources and strength in the team to recover it or find another team to do that.