A Sharepoint data form web part can be embedded in an iframe on the public site but you need this solution to make it anonymously accessible:
http://anonymous365.codeplex.com/
Example on default public site:
Example of same form on Sharepoint page:
Or you can use a Google Docs form - select "Create a custom form on your public site " from the drop down on this page.http://wb2-web.sharepoint.com/Pages/o365answers.aspx#