In addition to what Kaz said (this not being much of an issue in audio), you can externally compensate the offset voltage and input bias currents of any BJT-based [or other kind of] opamp. The ON Semi app note AND8177/D (formerly Philips/Signetics appnote AN142) has some basic circuits for that purpose on its last page(s). They are nominally showing the NE5534 there, but those circuits don't use anything but the signal input pins to achieve compensation, so they'd work for any BJT-based amp, including the NE5532. I have played with the first two circuits in LTSpice (with the rather basic NE5532 model found on the interwebz); they are a little sensitive to the pot values. The real issue is to quantify "near zero" (from the OP question) in an actual application...
Beware that both appnotes, even though they've been in print for 30 years, still have a bug in their offset-nulling inverting circuit with the opamp input pins being swapped. I'm referring to fig 18 in AN142 and its copy fig 22 in AND8177; you surely don't want to build a Schmitt trigger here...
Below is my test fixture for the NE5532 combining V offset and input bias compensation (somewhat spiffed for public communication from my old scratch version). This is a basic circuit, not something elaborate using DC servos etc., but I think it's good for learning what's going on; at least for me it was so.
R11 provides bulk bias current compensation for R10, i.e. you want these roughly matched. Note that without C4 you will have a hard time finding a good value for R11. That's because the positive pin will see variable resistance to its left... (This is where more elaborate solutions using active components come in, but I'm not going into that.)
The fine tuning of the Voffset is via the pot "a" simulated by R7&R8, which is lifted from the aforementioned appnotes. With the pot "a" set to 0.45 (normalized value) the offset is in the few microvolts range, which for audio output is excellent.
--- Operating Point ---
V(n002): 0.000514795 voltage
V(n003): 1.47903e-005 voltage
V(vout-biased): -3.03485e-006 voltage
V(vin-ac): -4.48332e-016 voltage
V(n005): 0 voltage
V(vout-ac): -8.55829e-020 voltage
V(vin-biased): -0.0498147 voltage
V(v-): -12 voltage
V(v+): 12 voltage
V(n004): -0.0498075 voltage
V(n001): 1.13011 voltage
I(C5): 1.42638e-022 device_current
I(C4): 4.98147e-019 device_current
I(R11): 4.98223e-007 device_current
I(R10): -4.98147e-007 device_current
I(R9): 5.64796e-006 device_current
I(R8): 0.000483106 device_current
I(R7): 0.000477458 device_current
I(R6): 5.14795e-006 device_current
I(R5): 1.42638e-022 device_current
I(R4): -4.48332e-019 device_current
I(R3): -4.98147e-020 device_current
I(R2): -1.78251e-009 device_current
I(R1): 5.00005e-007 device_current
I(Vtest): -4.98147e-020 device_current
I(V2): -0.00370861 device_current
I(V1): -0.00370444 device_current
Ix(u2:1): 4.98147e-007 subckt_current
Ix(u2:2): 4.98223e-007 subckt_current
Ix(u2:3): 0.0032255 subckt_current
Ix(u2:4): -0.00322698 subckt_current
Ix(u2:5): 1.78251e-009 subckt_current
The LTspice asc source file format is actually an ASCII (plain text) format, so I've uploaded the circuit (asc) to http://pastebin.com/0PzpUbFC in case anybody else finds use for it.
And below is a slight modification graphing the DC output offset as function of the offset pot position, i.e. a pot sweep. The output voltage corresponding to the "500m" (0.5 that is) pot position is basically the typical NE5332 offset votage (0.5mV) roughly multiplied by this circuit's gain (~10), resulting in about 5mV output offset.
If you want to increase the effective range of the offset pot (for example if you get a really bad NE5532 that has almost 10x its typical offset) you can decrease R9; decreasing R9 to 100K would roughly double the output voltage offset range that the pot sweeps.
Also, removing R11 is a pretty bad idea; you will get hundreds of mV output offset which the offset pot cannot compensate for... as shown below.
The point to remember here is that both input currents and input offset need to be cared for in the same circuit as they both affect the output voltage offset; that's something perhaps not well conveyed in the aforementioned appnote...
And perhaps more directly answering the question as asked, there are some bipolar opamps where the manufacturer has tried to center the VOS to 0... statistically. You still have to deal with non-zero dispersion. For example the OPA551/OPA552 data sheet, which gives the typical VOS values as +/-1mA and a max of +/-3mA later has the following bell-shaped (Gaussian distribution) graph.
You also have to consider that the offset voltage may (or may not) increase much with temperature. This is again where active solutions (servos) win over manual trimming. The graph for the temperature drift of the OPA551/2 samples follows.
I'm not sure what shape to ascribe to this; perhaps a form of Weibull distribution for some suitably chosen parameters.
Finally, the LM4562 mentioned (by someone else) above has the bias currents measured in dozens of nA (typical 10nA, max 72nA), whereas for the OPA551 it is in the range of dozens of pA (typical 20pA, max 100pA). Having said this, I come back to my opening point: you have to ask yourself, when was the last time you've heard or read that someone was preferring a specific opamp in an audio application because of its low offset voltage and/or low input bias currents...
If your supply is 9V and you have created a midrail at 4.5V that is a good start however, to expect any op-amp to produce an output voltage that drops down to the 0V rail is naive. OK that's being a little harsh for newbies in electronics.
If you look at page 7 of this document, about halfway down is the spec of the peak voltage swing and typically this is +/-13.5V. Note the power supply voltage is +/-15V and what it's telling you is that the op-amp cannot swing to within 1.5V of the power rails.
You can get better op-amps - these are usually referred to as "rail to rail" devices because they can swing their outputs (and usually their inputs) to very close to both supply rails. Make sure you pick one that can operate from your 9V supply - a lot of them are intended for 5V applications.
The LT1677 is a good example - it can swing its outputs to about 200mV of either supply but there are probably better ones that you will find that achieve maybe 50mV.
If you really need 0.0mV swing on the output then you should consider haveing a negative supply.
Best Answer
There are two ways to achieve this:
Operate OA1 an a linear amplifier with a gain of 2. With a "rail-to-rail" opamp and a gain of slightly less than 2, the output will not clip and the circuit could be used to shift other waveform types, like a sine or triangle wave.
Operate OA1 as a comparator. In this case the output swings between positive and negative saturation, and any input wave shape is turned into an output squarewave.
To do this with an opamp acting as a comparator, make these changes to the original circuit:
Delete Vref.
Connect the free end of R3 to V2.
Disconnect R2 from Vout.
Connect the free end of R2 to GND.
This will place a reference voltage of 6 V (V2/2) at the inverting input. The comparator will slice the input signal at this voltage level. Because there no is no negative feedback, the output will bang back and forth between the rails.
If there are small noise bursts at the output as the input crosses the transition level, you can add hysteresis to the circuit.