Certo.
Guarda l'esempio --> http://arduino.cc/en/Tutorial/XivelyClient
Nella funzione sendData vengono inviati dei dati tramite client.print all'indirizzo pubblico (memorizzato nella variabile server) alla porta 80.
Oppure vuoi fare il contrario ricevendo dati su un indirizzo pubblico?
In quel caso devi intervenire sul router e ridirigere la porta al giusto indirizzo IP all'interno della sottorete.