I have .. btc stored on legacy chain and i am using ledger nano s. I need to sign a message for the byteball full moon airdrop.
In the menu ledger nano I can choose from many different wallet addresses to sign one. I just choosen the first. It shows 0 btc.
I have used that one to sign the message for byteball to get the free byteball on the full moon. The bot tells me current balance btc 0. I know that. Is it still ok and I get the byteball? I am confused because my total btc balance is not zero.
You can't just sign a message from ANY BTC address... you need to sign the message from the BTC address that contains your BTC

You need to figure out which of your BTC addresses contains your BTC, then sign message(s) from all the address(es) that contain your BTC and link them all using the Bot...
Before you go down this path, I would suggest that you read the airdrop "rules" very carefully (
https://byteball.org/#dist)... you need 16 BTC to get 0.1 GB now. 0.1 GB is currently worth just under USD$70... yes, you read that right, you need
16 BTC (about USD$220,000.00 worth of BTC) to claim USD$70 worth of Byteball... assuming the March 2018 distribution even goes ahead (and the price remains stable).
TL;DR: You missed the boat.