No, model.eval() and torch.no_grad() will not have the same effect.
While model.eval() changes the behavior of some layers (e.g. dropout will be disabled and the running stats of batchnorm layers will be used), with torch.no_grad() disables the gradient calculation.