Ruby, 202 198198 193
a=$<.read.split('
').map(&:split)
f=->x,y{a[x][y]=?1a[x][y]=1
[[-1,0],[1,0],[0,-1],[0,1]].map{|o|d,e=x+o[0],y+o[1]
f[d,e]if a[d]&&a[d][e]==?0}}
f[i=a.index{|x|x.index ?0},a[i].index(?0)]
p !(a.join.index ?join=~/0/)
Does a flood-fill, then checks to see if all the elementsthere are 1any 0s left.