Here's why:
* Common nouns refer to general things or people, not specific ones.
* Proper nouns are names of specific people, places, or things.
Since "ribbon" refers to a general type of thin, narrow strip of material, it is a common noun.
If we were talking about a specific ribbon, like "the blue ribbon for first place," then "blue ribbon" would be a proper noun because it names a specific thing.