You can use ng-show in order to show/hide by condition,
and to check if all the objects in your array includes the title field, you can use Array.every().
If you comment or remove one of those titles in the array, the wrapper <div> which show the titles won't be visible, but stays in the DOM tree. (removing from the DOM tree can be done by ng-if)
var app = angular.module('myApp', []);
app.controller('MainCtrl', ['$scope','$http', function($scope, $http){
$scope.a = 'sdf';
  
  $scope.contentMetaDataList = [
    {
      title:"legislation_title",
      fieldValue:"refund of tax to certain persons",
      id:94346
    }, 
    
    {
      title:"Enterprise_title",
      fieldValue:"refund of tax to certain persons",
      id:94346
    },
    
    {
      title:"Related_title",
      fieldValue:"refund of tax to certain persons",
      id:94346
    }];
  
   $scope.checkTitle = function() {
      return $scope.contentMetaDataList.every(item => item.title);
   }
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js"></script>
<div ng-app="myApp">
  <div ng-controller="MainCtrl">
        <div>
          
          <div ng-show="checkTitle()">
            <p>Smart Tags : </p> 
            <div ng-repeat="relatedcontent in contentMetaDataList">
                  <div>
                      {{relatedcontent.title}}
                  </div>
             </div>
          </div>
        </div>
  </div>
</div>
 
 
for more info: 
ng-show 
Array.every() 
ng-if