Of course you should normalize it - it isn't the Lambert term if it isn't normalized.
dot(N,L)Lambert term = max(cos(angle between direction to light and surface normal),0)
And (in HLSL-ish pseudocode): dot(A,B) = cos(angle(A,B)) * length(A) * length(B)
So to get dot(A,B) = cos(angle(A,B)), length of both vectors must be equal to 1 (which is what normalization does - divides a vector by its length).