Have a customer or product owner to worry about making all the acceptance criteria known in advance? Or have a team and scrum master to worry about them? 

I'd suppose that it is the responsibility of a customer to exactly express all the acceptance criteria. If they failed to do so, then it is their fault (not the team's).