This sentence is grammatically correct and incorrect at the same time. Furthermore, it conveys two different ideas.
The second part of the sentence is the easy one. That part ("aber Mensch braucht Hip Hop") simply means: "Humans need Hip Hop."
The tricky part is the first one. This is the part where you can opt for and against grammatically correct.
As it stands, it makes use of the nominative case. You can reorder the words to "Kein Mensch braucht Hip Hop" and then it becomes obvious that this is correct. However, the full sentence is then a contradiction as it reads "Humans do not need Hip Hop, but humans do need Hip Hop."
The actual statement is "Hip Hip doesn't need humans, but humans need Hip Hop." But in respect to this meaning, the sentence is grammatically incorrect, because it should be in accusative, i.e. "Hip Hop braucht keinen Menschen".
That being said, it should be mentioned, though, that the mistake of dropping the accusative ending -en creeps into the language. I'm not sure how widespread it really is, but sometimes you'll hear that mistake in colloquial.
So, that sentence is kind of a pun which makes use of the German feature of reordering sentence's parts, which is not possible in languages without cases. Here's an example that shows how effective grammatical cases are:
Der Hund beißt den Mann. == Den Mann beißt der Hund.
The dog bites the man. != The man bites the dog.
As your sentence doesn't contain articles, it's hard to see. The only indicator is the indefinite pronoun kein, which, as said, is the key to the pun.