It happens in every organization. Two leaders of two different teams just can't get along. It's wreaking havoc among the other teams. Things are just a mess. As the program manager, you've been asked to fix the situation. What should you do? Not an easy task to say the least. Sounds like these two have forgotten that without each other, there's no way the company would reach its goals.
And since team members typically mirror what is done not what is said, you have a real problem on your hands. Your only option is to get these two team leaders together to find a solution.
Meet with each of the team leaders individually prior to the group meeting to find out the key issues. Ask each participant to identify what the other team needs to:
Advise them to focus on business issues that can be changed and to avoid finger pointing.
At the beginning of the meeting review the company goals, the goal of the session and set some ground rules such as:
Depending on how much history these folks have, you may have to be a strict mediator. Don't let them speak from their positions; make them voice their issues from their concerns. (A position would be "you provide awful service." A concern would be "we receive requests so late in the day that it requires my staff to work overtime to complete.")
Work through the issues, set up an action plan for resolution and get the problem fixed.
It may take a bit to implement the plan, but if you keep them on track the situation will improve. What other suggestions do you have?