Yes, you can do this using statsmodels:
import statsmodels.api as sm
from numpy import NaN
x = [0, 2, NaN, 4, 5, 6, 7, 8]
y = [1, 3, 4, 5, 6, 7, 8, 9]
model = sm.OLS(y, x, missing='drop')
results = model.fit()
In [2]: results.params
Out[2]: array([ 1.16494845])
Which gives you the same result as just removing the row with missing data:
x = [0, 2, 4, 5, 6, 7, 8]
y = [1, 3, 5, 6, 7, 8, 9]
model = sm.OLS(y, x)
results = model.fit()
In [4]: results.params
Out[4]: array([ 1.16494845])
But handles it automatically. You can also pass arguments other than drop
if you want: http://statsmodels.sourceforge.net/devel/generated/statsmodels.regression.linear_model.OLS.html