Agree with Claire. Both make perfect sense because there are two ways to think about the cold(s). You can think of "cold" as the name of a medical condition, or you can think of a "cold" as being an individual disease for one person. The difference takes place within your brain.
Many (most?) other nouns work the same way. For example, suppose there is a group of ten people and each of them is married. You could say "they have a spouse" or "they have spouses". If you said it the first way, nobody would imagine that all are married to the same person. Same with "they have a house", "they have a dog", etc. As almost always is the case, the exact meaning depends on the context.