[C]ommunication of the requirements leave a lot to be desired.
This is both the core of your problem and your route to process improvement. It seems likely that you are missing Product Owners and Product Backlogs for each team, and do not have adequate coordination at the Scrum-of-Scrums level.
In addition to filling any missing roles and generating the necessary Scrum artifacts, your organization can leverage user stories to improve your inter-team communication.
Improving Inter-Team Communication with User Stories
Even without the right roles and artifacts to coordinate the teams, you can improve your processes significantly by ensuring that you aren't tossing "requirements" over the wall between teams. Instead, teams should trade user stories that can be used to facilitate direct communications between members of each team.
For example, if a project team building a new web site needs database services, there might be a user story that says:
As a web site user,
I need the database to return the size of my embiggened widget in cubits
so that I can place an order for a widget cozy.
This story is then shared with the database team, which the DBA Product Owner can place onto the database team's Product Backlog and prioritize in coordination with the web team's Product Owner. That's the ideal you should strive for.
Failing that, the user story still works as a starting point for conversations between members of the web team and the database team. It's not a complete specification, nor is it intended to be. It's a mechanism for providing context between the teams, so that both teams have a common frame of reference as they hammer out the implementation details.