Sachverhalt:
X._ meldete sich per 31. Dezember 2004 bei der Gemeindeverwaltung P._ ab und hält sich seither in Kuwait auf. Es ist aber unbestritten, dass die Eheleute X._ - Y._ für das ganze Jahr 2004 gemeinsam steuerpflichtig sind und die Ehe weder geschieden noch getrennt ist. Sie reichten die Steuererklärung für die Staats-, Gemeinde- und direkte Bundessteuer 2004 am 9. April 2005 ein. Mit Veranlagungsverfügung vom 4. Juli 2005, zugestellt an die Adresse der Ehefrau, anerkannte die Veranlagungsbehörde den vom Beschwerdeführer geltend gemachten Vorsorgeabzug für die Säule 3a von Fr. 6'077.-- nicht, da der Steuererklärung die entsprechende Bescheinigung nicht beilag. Am 13. Oktober 2005 - anlässlich seines Aufenthalts in der Schweiz - übergab der Beschwerdeführer die Bescheinigung seinem Treuhandbüro, das den Beleg am 22. Dezember 2005 an die Veranlagungsbehörde weiterleitete. Diese nahm die Eingabe als Einsprache entgegen und trat darauf nicht ein, weil sie verspätet sei. Eine Beschwerde wies das Steuergericht des Kantons Solothurn mit Urteil vom 17. November 2008 ab.
Hiergegen führen die Steuerpflichtigen Beschwerde in öffentlich-rechtlichen Angelegenheiten mit dem Antrag, es sei das Urteil des Steuergerichts des Kantons Solothurn vom 17. November 2008 aufzuheben und es sei festzustellen, dass die Veranlagungsverfügung betreffend die Staatssteuer und die direkte Bundessteuer 2004 vom 4. Juli 2005 nichtig sei.
Vernehmlassungen der beteiligten Behörden wurden nicht eingeholt.
Erwägungen:
1. Die Beschwerdeführer berufen sich nicht auf eine mangelhafte Eröffnung oder Zustellung der Veranlagung. Sie machen vielmehr geltend, die Veranlagung selbst sei nichtig. Den Nichtigkeitsgrund sehen sie darin, dass die Veranlagungsbehörde den Abzug für die Säule 3a verweigerte, ohne sie vorgängig aufzufordern, die Bescheinigung über die bezahlten Beiträge einzureichen.
1.1 Nach der Rechtsprechung (BGE 122 I 97 E. 3a/aa S. 99; ferner 133 II 366 E. 3.2 S. 367; 132 II 342 E. 2.1) ist eine Verfügung nichtig, wenn der ihr anhaftende Mangel besonders schwer und offensichtlich oder zumindest leicht erkennbar ist und die Rechtssicherheit durch die Annahme der Nichtigkeit nicht ernsthaft gefährdet wird. Als Nichtigkeitsgründe fallen hauptsächlich schwerwiegende Verfahrensfehler sowie die Unzuständigkeit der Behörde in Betracht. Inhaltliche Mängel haben nur in seltenen Ausnahmefällen die Nichtigkeit einer Verfügung zur Folge. Die Vermutung spricht für die Gültigkeit des Verwaltungsaktes. Das Interesse an einer funktionstüchtigen und reibungslos funktionierenden Verwaltung gebietet, dass die Verwaltungsbehörden grundsätzlich von der Gültigkeit von Verfügungen und Entscheiden müssen ausgehen können.
1.2 Von Nichtigkeit in diesem Sinne kann vorliegend offensichtlich keine Rede sein. Es ist unbestritten, dass die Veranlagungsverfügung von der örtlich und sachlich zuständigen Behörde im dafür vorgesehenen Verfahren ausging und alle Elemente enthielt, welche sie als Verfügung kennzeichnen. Sie hätte auch mit Einsprache innert Frist angefochten werden können. Die Beschwerdeführer bemängeln einzig, dass die Veranlagungsbehörde den Vorsorgeabzug nicht anerkannt habe, ohne sie vorgängig aufzufordern, die Bescheinigung über die Bezahlung des Vorsorgebeitrages nachzureichen. Für Mängel dieser Art stehen indessen gerade die ordentlichen Rechtsmittel offen. Hätten solche Mängel Nichtigkeit zur Folge, würde das dazu führen, dass Veranlagungsverfügungen noch nach Jahren in Frage gestellt werden könnten. Das würde die Rechtssicherheit in einem Mass gefährden, das nicht hingenommen werden kann.
2. Das führt zur Abweisung der Beschwerde. Die Kosten des bundesgerichtlichen Verfahrens sind den Beschwerdeführern aufzuerlegen; sie haften hierfür solidarisch (Art. 65 und 66 Abs. 1 und 5 BGG).
Demnach erkennt das Bundesgericht:
1. Die Beschwerde wird abgewiesen.
2. Die Gerichtskosten von Fr. 800.-- werden den Beschwerdeführern unter solidarischer Haftung auferlegt.
3. Dieses Urteil wird den Beschwerdeführern, dem Steueramt des Kantons Solothurn, dem Kantonalen Steuergericht Solothurn und der Eidgenössischen Steuerverwaltung schriftlich mitgeteilt.
Lausanne, 9. Februar 2009
Im Namen der II. öffentlich-rechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Der Gerichtsschreiber:
Müller Wyssmann