Just inject $timeout in your controller and use this.
$timeout(function() { $scope.displayErrorMsg = false;}, 2000);
Also you can use $digest or $apply as below
setTimeout(function() {
$scope.displayErrorMsg = false;
$scope.$digest();
}, 2000);
setTimeout(function () {
$scope.$apply(function(){
$scope.displayErrorMsg = false;
});
}, 2000);
Check here how these works,
http://www.sitepoint.com/understanding-angulars-apply-digest/