Scrum is based on an empirical process control system. It assumes that not everything is known and that knowledge will emerge over time. Trying to specify every acceptance criteria in exact detail may not be possible and may take way more time than needed.
It's not possible to know all acceptance criteria in advance.
Instead, Scrum explains that the ...
If the quality of the product isn't good, is the Scrum Team fault
It is never the stakeholder fault!
According to the Scrum Guide (2019), the Scrum Reviews are
"informal meetings" in which the stakeholders are invited to
participate and collaborate. Being "informal meetings" we expect
the requests, needs and ideas presented by the stakeholders
to be ...
The product owner is responsible for defining all the items in the backlog with enough detail for the team to be able to work on them. Acceptance criteria is part of those details. The product owner needs to have these clearly expressed before work begins.
Of course it's also the team's responsibility to make an effort to understand the items from the ...
Why are you talking about blame?
Your Question reads, to me, like "Something went wrong. Who do we blame?"
The only situation in which "responsibility" (read: blame) should be relevant is when it is necessary - namely, when selling to an external party. In which case, the only valid answer could ever be: "Check your contract". This is a question for a ...
Have a customer or product owner to worry about making all the acceptance criteria known in advance?
We shouldn't expect the customer and Product Owner to get requirements perfectly right every time. The reasons for this are:
It is very difficult to think of everything when defining a requirement
Excessive time spent defining requirements is a form of ...