No Land unit can fire at any sea units.
Battleships can fire at units in a land territory as part of a special procedure called a "Shore Bombardment", which is a support shot for your troops during an Amphibious Assault. From the rulebook:
In an amphibious assault,
your battleships in the same sea zone as the
offloading transport can conduct shore
bombardment. Each battleship fires once during
the opening fire step against enemy land units
in the territory being attacked. (Any enemy
units hit by the shore bombardment do not fire
back, but are immediately lost.) A battleship
cannot conduct shore bombardment if it was
involved in a sea combat prior to the
Air units can fight on land and at sea. Hope that helps,
Good answer. Combined Bombardment tech research, which gives destroyers a battleship-like support shot, also lets destroyers attack land units when a transport unloads into a territory, and a destroyer is present with the transport, and the destroyer hasn't been involved in any other combat that turn. Note that destroyers don't come this way normally, you have to research it.