Scrum
Also, most frameworks out there use this same approach. I'll point out the differences in Kanban and XP below. The scrum guide says:
"The Product Owner is responsible for the Product Backlog, including its content, availability, and ordering."
Most interpretations I've heard of this is more like "accountable" in RACI. The product owner makes sure it gets done and that it is ordered properly. They may or may not be the ones to write the backlog items, but they should be able to speak to them and explain to stakeholders their value.
XP
In XP, the product owner is an actual customer. In XP teams, I see almost all items in the backlog being very focused on customer needs, and so that customer is almost always the one writing them.
Kanban
There is some nuance here (Kanban is not a methodology, it's a process optimization tool) so there isn't actually a right answer, but in most Kanban teams I've worked with, they either have a product owner like in Scrum or (especially in operations teams) they have some work intake funnel. In the later case, the person filing the request is often writing the backlog item themselves or working with a team member to make sure it's clear. Think of when you file a support ticket. Either you write it yourself or you call support and they write one from their conversation with you.
Business Analysts
The problem I've seen with putting this responsibility on the Business Analyst is that there is a healthy tension between the roles of Product Owner and Delivery Team. The product owner orders the backlog, identifying what items are most valuable to do first. The team determines how to implement those items. Traditionally, many BA's are tasked with doing both. This loses that tension. I usually ask BA's to try to pick a role to focus in and most enjoy the problem solving aspects of the work and end up in the team.