As many other answers have said, it depends on the context
I would like to add though that it depends on not just the question you're asking but also how much you want the user to think about the question and their response. A radio box requires some action to move on while a checkbox can be skimmed over.
As DenR89 says, you can never be sure if a checkbox has been answered negatively or ignored. Sometimes this is ok. Sometimes you need to be certain that the user has understood the question and provided an honest response. For example, on a car insurance application, you might use a radio box for:
Do you own the car?
( ) Yes ( ) No
As there might be legal implications for assuming this incorrectly. However, you might use a checkbox in the same form for:
[ ] Include breakdown cover
Where the default (no breakdown cover) is correct for most people and it won't affect the validity of an insurance policy if this is missed.
Very big forms
People get bored/frustrated with very big forms. For these cases, I would suggest radio buttons as it forces people to read the question and make a choice, preventing laziness from letting people skim over checkboxes.
This only really applies while we're talking about a yes/no/null radio box vs a single checkbox. If the radio box is initially in a "no" state, it is essentially the same as a checkbox. If you can replace the several questions with:
Do you have:
[ ] Thing 1
[ ] Thing 2
[ ] Thing 3
...
Then this is a completely different question.