To clarify the fix, in order for someone to take the survey they need to have at least Contributor permission ADD/EDIT permissions, since they need to be able to add thier response to the Survey(List). If you want to have Anonymous Access for the survey you need to set those permissions also.
You can control what they can edit through the setting in the survey:
Settings > Survey Setting under the General Setting select Advance Settings
Under the Item-Level Permissions you have several options:
Read Access
All Responses
Only thier own
Edit Access
All Responses
Only thier own
None