Because of the decentralized control model of Agile software development methodologies, there is a living debate on the role of a Product Owner, particularly in Scrum which defines the term.
Here are links to sufficiently ambiguous definitions from some trusted sources, all saying effectively the same thing.
More informative is this course description from the Ken Schwaber for his Certified Product Owner Course.
and this course description from Mike Cohn:
There is another question commonly asked in this discussion, though. “Who writes the requirements?”
The idea behind Agile product development is that requirements DO exist, typically in the form of a backlog. The next point is that they are expected to change. In this regard, the Product Owner has the responsibility to continuously and actively manage the requirements. It is easily seen that the only way for a Product Owner to effectively do this is through intimate familiarity with the requirements. While the Product Owner may not have been the person to initially place an item on the Product Backlog, they are accountable to the team for maturing that requirement into an executable state.
Therefore, who is responsible for requirements? Clearly, the Product Owner.
Lastly, if you are still having trouble identifying the Product Owner for a given system, product, project, or initiative, remember this one thing:
"The Product Owner is the one person in an organization responsible for P&L (Profit and Loss) of the work." — Jeff Sutherland