In everything I've read on the topic, "sino" must follow a negative for a sentence to be translated in this way. I also searched for sentences with the word "sino" in them over at Tatoeba, and though I did not go through all 308 of them, each one on the first page of results clearly contains a negative first clause.
For your suggested translation to work, alex_tv80, the sentence would have to be written,
"Él tiene una camisa pero él no es(tá?) rojo."
Such a sentence sounds rather odd in English, but that doesn't invalidate it as a potential translation. Odd sentences help test whether or not we truly know a language or are just guessing at what it might mean. Nevertheless, I'll address why the actual sentence,
"Él tiene una camisa pero no es roja."
cannot be translated as, "He has a shirt, but he is not red."
The first big clue is that "camisa" is a feminine noun and "roja" is an adjective that has been declined to correspond with something feminine. The only thing feminine in this sentence is the shirt, so, via powers of deduction, that seems to be the most logical choice.
Have you heard of a thing called a "dangling clause?" It occurs when a clause is not near the object which it describes and good writers who want others to understand what they've written will do their best to avoid the "dangling clause." I take it on good faith that the course developers have given me grammatically correct sentences to translate and so when I see a noun (camisa) followed by a clause (pero no es roja), I assume that the clause is describing the noun closest to it. Notice how I reintroduced the subject "él" in the sentence at the very top of this post to make it work for your suggested translation. Doing so places it closest to the clause, "pero no es roja."
The word "es" is a conjugation of the infinitive "ser," which is used to convey an essential characteristic. "Estar" is the verb you would use to convey a condition or a temporary state of being. Though I suppose you could write a sentence that was describing a man who was red in the same way we would describe a cherry or a strawberry or some types of apple, typically when we say someone is red in English, we are referring to the shade one might turn after embarrassment or anger or laughter. It isn't an essential, permanent quality of the person and therefore, I would expect to see "está" rojo if the color were referring to the "él" in that sentence.
You posted your question quite some time ago, so perhaps any mystery this sentence may have once contained for you has been unraveled, but others may have the same question, so I took the time to answer it.
It looks as if you've discontinued your study of Spanish for a bit, Lucieli2, but we hope you return one day to duolingo. If you do, or others have this same question, the answer to it can be found in the following duolingo lesson:
Lessons are likely to become frustrating for you without a solid understanding of that lesson, so please take the time to review it and if you continue to have questions, we'd be happy to help you further.
You asked this a few months ago, ChristopherTheDj, so you may know the answer to your question by now, especially since I see you are now at a Level 11 (¡Enhorabuena!), but your suggested translation would have to be written,
"Él tuvo una camisa que no es roja."
The original sentence,
"Él tiene una camisa pero no es roja,"
contains "pero" instead of "que." The word "pero" is the word for "but" and "que" is the word for "that."
Also, "had" is past tense and "tiene" is present tense.
Do you see the difference in meaning now?