It was only a few weeks ago that Mike Cohn wrote about combining scrum master and product owner roles on his blog. I don't think I can put it any better than he did, but my short summary of his post is this:
- it's a bad idea
- SM and PO perform very different kinds of tasks ("star tasks" and "guardian tasks" in Cohn's words)
- the person combining the two roles is unlikely to be a good fit for all tasks involved in both roles
- the team may be hurt by the combined SM/PO neglecting the tasks they are not the best at.
I think there is nothing wrong per se with taking any member of a scrum team and moving him/her to Product Owner. But you have to realize that it's like a promotion or an internal transfer; it creates a hole in the team and the hole needs to be filled. Maybe the team can "self-reorganize" to fill the hole; maybe it needs to hire a new employee to fill the vacant position.
From your description it is not clear whether the teams are actually working on separate projects - I assume they are.
In the ideal case, I think this should be mainly decided by the teams themselves, but they would come to more or less the same conclusion (i.e. using Agile). Especially if prominent members of the teams used to work together in the single Agile team before, they tend to naturally bring with them the practices they tried and proven to work.
However, each new team is bound to encounter its own, more or less different situation and challenges, so over time they will develop their own process a little bit differently from the others. And that is fine, within certain limits. In order to make management's life easier, it is advisable to agree upon and stick to some common way of reporting towards management. But since Agile is not reporting-heavy, I don't think this imposes huge restrictions on any team.
Now, if one team comes up with a process improvement, it is indeed useful for other teams to learn about it - as long as it actually solves some problem of theirs too. So IMO the best approach would be to keep up communication between teams regarding retrospectives and process improvement solutions, by way of some designated team members (one from each team would be enough - e.g. the Scrum Masters) to regularly meet after each sprint and discuss the problems they encountered, the solutions they tried, and the results.
So if Team A tells about a problem, it is possible that Team B has already got a working solution for it, which can be applied right away. Or if Team A has an idea to solve same problem, it is possible that Team C has already experimented with a similar idea and they have gained useful experience which they can share with Team A. Etc. The point is that any team is most interested in solutions to their concrete problems, so it is best to approach knowledge sharing from this perspective: adapting solutions to concrete problems, rather than trying to adapt processes to imaginary "solutions". Development teams would be pretty normal to resist the latter approach, but not the former.
Best Answer
The product owner should be the foremost business/user base expert for the application you're building. Each product should have one product owner, however this is not always the case in practice. Sometimes, you may have 2-3 product owners if there are several people from different departments driving the project.
In any case, the product owner or owners are associated to a single product. Therefore, if you have more than one team working on the same product, the product owner(s) will be the same for each team of said product.
Since each product should have its own product owner(s), teams working on different products could have different product owner(s).