You must have some weight in the cart in order to obtain a shipping quote. If you have no weight then the quote will fail with this error message.
To allow customers to purchase only the item with the free shipping like this you will need to modify your code on the confirm page so that only if there is a weight in the cart will you try to get a quote for the shipping. While in code view if you go to the server behaviors and click on the USPS server behavior it should highlight the code on the page.
You will need to add an if statement just before this code block and add a curly brace just after it. The if statement will look like this:
<?php if ($WA_eCart->TotalColumn(TotalWeight) > 0 ){ ?>
//usps server behavior goes here
<?php } ?>
You would need to replace the WA_eCart with the name of your cart. This will ensure that the shipping quote only occurs if there is a weight in the cart.