The Grocery List App You Need
I rarely get excited over another app that manages lists and tasks, but this one serves a single purpose extremely well. AnyList for iPhone is simply the best app for making a grocery list and sharing it with your roommate, spouse, etc.
You have the ability to create multiple "Lists," (my wife and I have a separate list for each store, i.e. Publix, Chamberlins) and each list will organize the items by category. AnyList automatically separates items into categories, and usually does a fair job. Things like milk and yogurt will be placed in the "Dairy" category. You can always manually switch an item to a category as well.
The best feature is the instant sync between those sharing a list. So my wife adds items while I drive to the store, and when I walk into Walmart I know everything I need to get. Tap an item to cross it out and the list on my wife's iPhone is updated to reflect that.
It's even great when you're both in a store to "divide and conquer." You each know which items have already been bought and don't buy on top of each other. We use it constantly and its had some recent updates that make it even more useful. Also, it's free. Download it for iPhone here.